package org.asg.dis.request;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;

import java.util.Date;

/**
 * @param senderId                发件人ID
 * @param senderName              发件人姓名
 * @param senderPhoneNumber       发件人电话
 * @param senderRegion            发件人地区
 * @param senderDetailedAddress   发件人详细地址
 * @param receiverName            收件人姓名
 * @param receiverPhoneNumber     收件人电话
 * @param receiverRegion          收件人地区
 * @param receiverDetailedAddress 收件人详细地址
 * @param expressService          快递服务
 * @param type                    物品类型
 * @param weight                  物品重量
 * @param amount                  物品数量
 * @param note                    备注
 * @param expectedTime            期望时间
 * @param paymentMethod           付款方式
 * @param status                  状态
 * @param location                当前所在位置
 */

public record CreateShipmentReq(
        @NotNull Long senderId,
        @NotNull @Size(max = 20) String senderName,
        @NotNull @Size(max = 15) String senderPhoneNumber,
        @NotNull @Size(max = 50) String senderRegion,
        @NotNull @Size(max = 100) String senderDetailedAddress,
        @NotNull @Size(max = 20) String receiverName,
        @NotNull @Size(max = 15) String receiverPhoneNumber,
        @NotNull @Size(max = 50) String receiverRegion,
        @NotNull @Size(max = 100) String receiverDetailedAddress,
        @NotNull String expressService,
        @NotNull @Size(max = 10) String type,
        Integer weight,
        @NotNull Integer amount,
        @Size(max = 20) String note,
        @NotNull Date expectedTime,
        @NotNull String paymentMethod,
        @NotNull String status,
        String location
) {}


